//
// Created by sri01 on 2025/11/21.
//

#ifndef MENU_BUILD_H
#define MENU_BUILD_H

#include "lcd.h"

typedef struct
{
    uint8_t cur;                      // 当前索引号
    uint8_t left;                     // left 的索引号
    uint8_t ok;                       // OK 的索引号
    uint8_t right;                    // right 的索引号
    uint8_t go_back;                  // go_back 的索引号
    void (*current_operation)(void);  // 当前执行的函数
} KEY_TABLE;

typedef struct
{
    uint16_t key_value;
    uint8_t key_new[3];
    uint8_t key_left;
    uint8_t key_right;
    uint8_t key_ok;
    uint8_t func_index;
    uint8_t func_index_last;
} Menu_Para;

void Menu_loop(Menu_Para* Menu_Parameter, KEY_TABLE* table);

#endif  // MENU_BUILD_H
